"""
统计每一个需求对应的总工作量
统计每一个需求对应不同角色的工作量合计
"""
import pandas as pd

path = 'C:/Users/pc/Downloads/Smart-D技术组任务规划_技术侧任务规划表_徐云涛.csv'
df = pd.read_csv(path)

# 将“需求类型”列的内容为常规的过滤掉
df = df[df['需求类型'] != '非功能']

# 新增”需求“列，将“一级”、“二级”、“三级”的内容进行合并
df['需求'] = df['一级'] + '-' + df['二级'].fillna('空') + '-' + df['三级'].fillna('空')

# 按“一级”、“二级”、“三级”的内容汇总，分别统计工作量的总和以及不同角色的工作量合计
df = df.groupby(['原始需求ID','需求', '角色分类'])['工时'].sum().reset_index()

# 将数据透视，将“角色分类”作为列，将“工时”作为值，将“需求”作为行
df = df.pivot(index=['原始需求ID','需求'], columns='角色分类', values='工时').reset_index().fillna(0)

# 将”需求“列拆分为”一级“、”二级“、”三级“三列
df[['一级', '二级', '三级']] = df['需求'].str.split('-', expand=True)

# 保存df内容到本地Excel文件
df.to_excel('C:/Users/pc/Downloads/Smart-D技术组任务规划_技术侧任务规划表_徐云涛_需求工作量统计.xlsx', index=False)

print(df)